#ifndef _HELIX_FILE_UTIL_H_
#define _HELIX_FILE_UTIL_H_


#include <windows.h>
#include "../Helix.h"
#include "../HObject.h"
#include <string>
#include <vector>

using namespace std;

namespace helix
{

	class MY_CLASS TextFileContent : public HObject
	{
	private:
		string fileContent;
		bool success;
	public:
		TextFileContent(const char* fileName);
		virtual ~TextFileContent();

		const char* getContent();

		bool successfulRead();
	};
	
	class MY_CLASS DirectoryList : public HObject
	{
	private:
		unsigned int successState;
		vector<string>* list;
		string directory;

		int getFileList();
	public:
		const static unsigned int SUCCESS = 1;
		const static unsigned int FAILURE = 0;

		DirectoryList(const char* directory);
		virtual ~DirectoryList();

		const char* getDirectory();
		int getSize();
		const char* getFile(unsigned int index);
		
		int successCode();
	};


}


#endif